_ssss_nnnn_dddd_cccc_aaaa_llll_llll specifies information needed by the transport provider to
establish a connection and _rrrr_cccc_vvvv_cccc_aaaa_llll_llll specifies information that is
associated with the newly established connection.
_nnnn_eeee_tttt_bbbb_uuuu_ffff is described in _iiii_nnnn_tttt_rrrr_oooo(3N). In _ssss_nnnn_dddd_cccc_aaaa_llll_llll, _aaaa_dddd_dddd_rrrr specifies the
protocol address of the destination transport user, _oooo_pppp_tttt presents any
protocol-specific information that might be needed by the transport
provider, _uuuu_dddd_aaaa_tttt_aaaa points to optional user data that may be passed to the
destination transport user during connection establishment, and _ssss_eeee_qqqq_uuuu_eeee_nnnn_cccc_eeee
has no meaning for this function.
On return in _rrrr_cccc_vvvv_cccc_aaaa_llll_llll, _aaaa_dddd_dddd_rrrr returns the protocol address associated with
the responding transport endpoint, _oooo_pppp_tttt presents any protocol-specific
information associated with the connection, _uuuu_dddd_aaaa_tttt_aaaa points to optional user
data that may be returned by the destination transport user during
connection establishment, and _ssss_eeee_qqqq_uuuu_eeee_nnnn_cccc_eeee has no meaning for this function.
The _oooo_pppp_tttt argument implies no structure on the options that may be passed
to the transport provider. The transport provider is free to specify the
structure of any options passed to it. These options are specific to the
underlying protocol of the transport provider. The user may choose not
to negotiate protocol options by setting the _llll_eeee_nnnn field of _oooo_pppp_tttt to zero.
In this case, the provider may use default options.
The _uuuu_dddd_aaaa_tttt_aaaa argument enables the caller to pass user data to the
destination transport user and receive user data from the destination
user during connection establishment. However, the amount of user data
must not exceed the limits supported by the transport provider as
returned in the _cccc_oooo_nnnn_nnnn_eeee_cccc_tttt field of the _iiii_nnnn_ffff_oooo argument of _tttt______oooo_pppp_eeee_nnnn or
_tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo. If the _llll_eeee_nnnn [see _nnnn_eeee_tttt_bbbb_uuuu_ffff in _iiii_nnnn_tttt_rrrr_oooo(3N)] field of _uuuu_dddd_aaaa_tttt_aaaa is zero
in _ssss_nnnn_dddd_cccc_aaaa_llll_llll, no data will be sent to the destination transport user.
On return, the _aaaa_dddd_dddd_rrrr, _oooo_pppp_tttt, and _uuuu_dddd_aaaa_tttt_aaaa fields of _rrrr_cccc_vvvv_cccc_aaaa_llll_llll will be updated to
reflect values associated with the connection. Thus, the _mmmm_aaaa_xxxx_llll_eeee_nnnn [see
_nnnn_eeee_tttt_bbbb_uuuu_ffff in _iiii_nnnn_tttt_rrrr_oooo(3N)] field of each argument must be set before issuing
this function to indicate the maximum size of the buffer for each.
However, _rrrr_cccc_vvvv_cccc_aaaa_llll_llll may be NULL, in which case no information is given to
the user on return from _tttt______cccc_oooo_nnnn_nnnn_eeee_cccc_tttt.
By default, _tttt______cccc_oooo_nnnn_nnnn_eeee_cccc_tttt executes in synchronous mode, and will wait for the
destination user's response before returning control to the local user.
A successful return (that is, return value of zero) indicates that the
requested connection has been established. However, if _OOOO______NNNN_DDDD_EEEE_LLLL_AAAA_YYYY or
_OOOO______NNNN_OOOO_NNNN_BBBB_LLLL_OOOO_CCCC_KKKK is set (via _tttt______oooo_pppp_eeee_nnnn or _ffff_cccc_nnnn_tttt_llll), _tttt______cccc_oooo_nnnn_nnnn_eeee_cccc_tttt executes in
asynchronous mode. In this case, the call will not wait for the remote
user's response, but will return control immediately to the local user
and return -1 with _tttt______eeee_rrrr_rrrr_nnnn_oooo set to _TTTT_NNNN_OOOO_DDDD_AAAA_TTTT_AAAA to indicate that the connection
has not yet been established. In this way, the function simply initiates
the connection establishment procedure by sending a connect request to
the destination transport user.
This function resides within both the X/Open compliant _llll_iiii_bbbb_xxxx_nnnn_eeee_tttt and the
applications which require X/Open compliance must link-load with _----_llll_xxxx_nnnn_eeee_tttt.
Network Services applications which require SVR4 compliance must link-
load with _----_llll_nnnn_ssss_llll.
On failure, _tttt______eeee_rrrr_rrrr_nnnn_oooo may be set to one of the following:
_TTTT_BBBB_AAAA_DDDD_FFFF The specified file descriptor does not refer to a
transport endpoint.
_TTTT_OOOO_UUUU_TTTT_SSSS_TTTT_AAAA_TTTT_EEEE The function was issued in the wrong sequence.
_TTTT_NNNN_OOOO_DDDD_AAAA_TTTT_AAAA _OOOO______NNNN_DDDD_EEEE_LLLL_AAAA_YYYY or _OOOO______NNNN_OOOO_NNNN_BBBB_LLLL_OOOO_CCCC_KKKK was set, so the function
successfully initiated the connection establishment
procedure, but did not wait for a response from the
remote user.
_TTTT_BBBB_AAAA_DDDD_AAAA_DDDD_DDDD_RRRR The specified protocol address was in an incorrect
format or contained invalid information.
_TTTT_BBBB_AAAA_DDDD_OOOO_PPPP_TTTT The specified protocol options were in an incorrect